/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Banco.Classes;

import Banco.DAO.ArquivoDAO;
import java.net.URL;
import java.sql.Date;
import java.util.ArrayList;

/**
 * 
 * @author Jorge Dantas
 */
public class Arquivo {

    int idArquivo;
    String turma_cursoFK;
    String turma_disciplinaFK;
    String turma_periodoFK;
    String turma_turmaFK;
    String nome; //verificar
    String url;
    Date dataCriacao;

    /**
     * Retorna o nome do arquivo
     *
     * @return String
     */
    public String getNome() {
        return nome;
    }

    /**
     * Atribui um nome ao arquivo
     *
     * @param String
     */
    public void setNome(String nome) {
        this.nome = nome;
    }

    /**
     * 
     *  Recupera arquivo.
     * @param idArquivo - Id do arquivo
     * @return Arquivo encontrado
     */
    public Arquivo getArquivo(int idArquivo) {
        ArquivoDAO arqDAO = new ArquivoDAO();
        return arqDAO.getArquivo(idArquivo);
    }

    /**
     * 
     * Recupera todos os arquivos de uma turma.
     * @param turma - Turma
     * @return Todas os arquivos referente a turma
     */
    public ArrayList<Arquivo> getTodosArquivos(Turma turma) {
        ArquivoDAO arqDAO = new ArquivoDAO();
        return arqDAO.getTodosArquivosTurma(turma);
    }

    /**
     * Insere um novo arquivo.
     *
     * @param arquivo - Arquivo
     */
    public void inserirArquivo(Arquivo arquivo) {
        ArquivoDAO arqDAO = new ArquivoDAO();
        arqDAO.inserirArquivo(arquivo);
    }

    /**
     * Retorna a data de criação do arquivo
     *
     * @return Date
     */
    public Date getDataCriacao() {
        return dataCriacao;
    }

    /**
     * Atribui a data de criação do arquivo
     *
     * @param Date
     */
    public void setDataCriacao(Date dataCriacao) {
        this.dataCriacao = dataCriacao;
    }

    /**
     * Retorna o ID do arquivo
     *
     * @return int
     */
    public int getIdArquivo() {
        return idArquivo;
    }

    /**
     * Atribui um id ao arquivo
     *
     * @param int
     */
    public void setIdArquivo(int idArquivo) {
        this.idArquivo = idArquivo;
    }

    /**
     * Retorna o curso ao qual o arquivo corresponde
     *
     * @return String
     */
    public String getTurma_cursoFK() {
        return turma_cursoFK;
    }

    /**
     * Atribui um curso ao arquivo
     *
     * @param String
     */
    public void setTurma_cursoFK(String turma_cursoFK) {
        this.turma_cursoFK = turma_cursoFK;
    }

    /**
     * Retorna a disciplina ao qual o arquivo corresponde
     *
     * @return String
     */
    public String getTurma_disciplinaFK() {
        return turma_disciplinaFK;
    }

    /**
     * Atribui uma disciplina ao arquivo
     *
     * @param String
     */
    public void setTurma_disciplinaFK(String turma_disciplinaFK) {
        this.turma_disciplinaFK = turma_disciplinaFK;
    }

    /**
     * Retorna o periodo correspondente ao arquivo
     *
     * @return String
     */
    public String getTurma_periodoFK() {
        return turma_periodoFK;
    }

    /**
     * Atribui o periodo no qual o arquivo foi inserido
     *
     * @param String
     */
    public void setTurma_periodoFK(String turma_periodoFK) {
        this.turma_periodoFK = turma_periodoFK;
    }

    /**
     * Retorna a turma no qual o arquivo foi inserido
     *
     * @return String
     */
    public String getTurma_turmaFK() {
        return turma_turmaFK;
    }

    /**
     * Atribui uma turma ao arquivo
     *
     * @param String
     */
    public void setTurma_turmaFK(String turma_turmaFK) {
        this.turma_turmaFK = turma_turmaFK;
    }

    /**
     * Retorna a URL do arquivo
     *
     * @return URL
     */
    public String getUrl() {
        return url;
    }

    /**
     * Atribui uma URL ao arquivo
     *
     * @param URL
     */
    public void setUrl(String url) {
        this.url = url;
    }
}
